iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0
Mobile Development

Android App通訊套件研發系列 第 6

以Java撰寫猜紙牌數字

  • 分享至 

  • xImage
  •  

請撰寫一程式,亂數產生紙牌的數字,接著猜紙牌數字為何。
猜錯就重新猜,並限縮範圍(ex. "猜錯了,你的數字太小了,介於3~K,請重新輸入"),並累加次數。
最後答對了,請輸出猜的次數。

Java 程式碼

import java.util.Random;
import java.util.Scanner;

public class CardGuessingGame {

    public static void main(String[] args) {
        Random random = new Random();
        int target = random.nextInt(13) + 1; // 隨機生成 1 到 13 的數字
        int count = 0;
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.print("請輸入紙牌數字 1~K: ");
            String input = scanner.nextLine().trim();
            int guess = parseCardValue(input);
            
            if (guess == -1) {
                System.out.println("輸入無效,請輸入數字或 J, Q, K。");
                continue;
            }
            
            count++;
            
            if (guess < target) {
                System.out.printf("猜錯了,你的數字太小了,介於 %d~K,請重新輸入%n", guess + 1);
            } else if (guess > target) {
                System.out.printf("猜錯了,你的數字太大了,介於 1~%d,請重新輸入%n", guess - 1);
            } else {
                System.out.printf("猜對了,您共猜了 %d 次%n", count);
                break;
            }
        }
        
        scanner.close();
    }

    private static int parseCardValue(String input) {
        switch (input) {
            case "J": return 11;
            case "Q": return 12;
            case "K": return 13;
            default:
                try {
                    return Integer.parseInt(input);
                } catch (NumberFormatException e) {
                    return -1; // 返回 -1 代表無效輸入
                }
        }
    }
}

上一篇
Activity-List view-Service 方塊圖
系列文
Android App通訊套件研發6
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言